package com.joysuch.wwyt.attendant.service;

import com.joysuch.wwyt.attendant.bean.vo.PersonStayTimeReq;
import com.joysuch.wwyt.attendant.bean.vo.PersonStayTimeResp;
import com.joysuch.wwyt.attendant.bean.vo.RailReqVo;
import com.joysuch.wwyt.attendant.bean.vo.V3TokenResp;
import com.joysuch.wwyt.core.exception.ApiCoreException;
import com.joysuch.wwyt.workflow.api.bean.PersonTrajectoryResp;

import java.util.List;

/**
 * @author xsx
 * @version 1.0
 * @date 2023/2/20 14:09
 */
public interface OpenPlatformService {


    /**
     * 从缓存获取开放平台token v3
     *
     * @return
     * @throws ApiCoreException
     */
    V3TokenResp getV3TokenResp(Long tenentId,String orgCode) throws ApiCoreException;
    V3TokenResp getV3TokenResp() throws ApiCoreException;

    /**
     * 同步区域
     *
     * @param reqVo
     */
    String syncArea(RailReqVo reqVo) throws ApiCoreException;

    /**
     * 更新区域
     *
     * @param reqVo
     */
    void updateSyncArea(RailReqVo reqVo) throws ApiCoreException;

    /**
     * 删除区域
     * @throws ApiCoreException
     */
    Boolean deleteArea(String platformAreaId) throws ApiCoreException;

    /**
     * 获取围栏停留时长
     * @return
     * @throws ApiCoreException
     */
    List<PersonStayTimeResp> railStayTime(PersonStayTimeReq req,  Long tenentId,String orgCode) throws ApiCoreException;

}
